package com.ruoyi.system.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.domain.MyBaseEntity;
import com.ruoyi.system.domain.Message;
import com.ruoyi.system.domain.Session;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.Map;

/**
 * 会话对象 session
 * 
 * @author ruoyi
 * @date 2025-09-23
 */
public class SessionVO extends Session {

    private String preId;

    private String curId;

    private Long userId;

    private Integer unreadCount;

    private Integer isTop;

    private String isTopText;

    private Integer isMuted;

    private String isMutedText;

    private Long targetId;

    private Map<Long,String> participantMap;

    private String conversationTypeText;
    private SysUserVO friendInfo;

    private Message lastMessage;

    private String messageId;

    private String opsFunc;


    public enum OpsFunc{
        getUnReadMsgList("getUnReadMsgList");
        private String text;
        OpsFunc(String text){
            this.text = text;
        }
        public String getText() {
            return text;
        }
    }

    public String getOpsFunc() {
        return opsFunc;
    }

    public void setOpsFunc(String opsFunc) {
        this.opsFunc = opsFunc;
    }

    public String getMessageId() {
        return messageId;
    }

    public void setMessageId(String messageId) {
        this.messageId = messageId;
    }

    public String getPreId() {
        return preId;
    }

    public void setPreId(String preId) {
        this.preId = preId;
    }

    public String getCurId() {
        return curId;
    }

    public void setCurId(String curId) {
        this.curId = curId;
    }

    public Message getLastMessage() {
        return lastMessage;
    }

    public void setLastMessage(Message lastMessage) {
        this.lastMessage = lastMessage;
    }

    public Map<Long, String> getParticipantMap() {
        return participantMap;
    }

    public void setParticipantMap(Map<Long, String> participantMap) {
        this.participantMap = participantMap;
    }

    public String getConversationTypeText() {
        return conversationTypeText;
    }

    public void setConversationTypeText(String conversationTypeText) {
        this.conversationTypeText = conversationTypeText;
    }

    public Integer getUnreadCount() {
        return unreadCount;
    }

    public String getIsTopText() {
        return isTopText;
    }

    public void setIsTopText(String isTopText) {
        this.isTopText = isTopText;
    }

    public String getIsMutedText() {
        return isMutedText;
    }

    public void setIsMutedText(String isMutedText) {
        this.isMutedText = isMutedText;
    }

    public void setUnreadCount(Integer unreadCount) {
        this.unreadCount = unreadCount;
    }

    public Integer getIsTop() {
        return isTop;
    }

    public void setIsTop(Integer isTop) {
        this.isTop = isTop;
    }

    public Integer getIsMuted() {
        return isMuted;
    }

    public void setIsMuted(Integer isMuted) {
        this.isMuted = isMuted;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getTargetId() {
        return targetId;
    }

    public void setTargetId(Long targetId) {
        this.targetId = targetId;
    }

    public SysUserVO getFriendInfo() {
        return friendInfo;
    }

    public void setFriendInfo(SysUserVO friendInfo) {
        this.friendInfo = friendInfo;
    }
}
